package com.powernode.controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.powernode.domain.ProdTag;
import com.powernode.service.ProdTagService;
import com.powernode.utils.AuthUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 内容:
 * 作者: cy
 */

@RestController
@RequestMapping("prod/prodTag")
@Api(tags = "标签分组管理")
public class ProdTagController {

   @Autowired
   private ProdTagService prodTagService;

   @GetMapping("page")
   @ApiOperation("分页查询标签分组")
   @PreAuthorize("hasAuthority('prod:prodTag:page')")
   public ResponseEntity<Page<ProdTag>> loadProdTagPage(Page<ProdTag> page, ProdTag prodTag) {
      Page<ProdTag> prodTagPage = prodTagService.selectProdTagPage(page, prodTag);
      return ResponseEntity.ok(prodTagPage);
   }
   @PostMapping
   @ApiOperation("新增标签分组")
   @PreAuthorize("hasAuthority('prod:prodTag:save')")
   public ResponseEntity<Void> addProdTag(@RequestBody ProdTag prodTag){
      Long shopId = AuthUtil.getUserIdOrShopId(false);
      prodTag.setShopId(shopId);
      prodTagService.saveProdTag(prodTag);
      return ResponseEntity.ok().build();

   }
   @GetMapping("listTagList")
   @ApiOperation("查询所有的标签分组")
   @PreAuthorize("hasAuthority('prod:prodTag:page')")
   public ResponseEntity<List<ProdTag>>loadAllProdTag(){
      Long shopId = AuthUtil.getUserIdOrShopId(false);
      List<ProdTag> prodTagList = prodTagService.selectAllProdTag(shopId);
      return ResponseEntity.ok(prodTagList);
   }


   @GetMapping("prodTagList")
   @ApiOperation("查询前台标签分组")
   public ResponseEntity<List<ProdTag>> loadFrontProdTag() {
      List<ProdTag> prodTagList = prodTagService.selectFrontProdTag();
      return ResponseEntity.ok(prodTagList);
   }

}
